System and method for connecting a call with an interworking system

ABSTRACT

An interworking system and method connects calls through the use of an asynchronous transfer mode (ATM) switch and interworking units. The ATM switch and interworking units may either be controlled by a signaling processor or not controlled by the signaling processor for particular calls to make connections. In some instances the signaling processor processes call signaling to determine connections for calls and transports control messages to the ATM switch and the interworking unit identifying the connections. The interworking unit interworks user communications from time division multiplex (TDM) formats to ATM for the selected ATM connections, and the ATM switch cross connects the user communications for the other selected ATM connections. In other instances, either of the ATM switch or the interworking unit may automatically cross connect or interwork the user connections to a connection without receiving a control message from the signaling processor that identifies the connection.

RELATED APPLICATIONS

Not Applicable

FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

MICROFICHE APPENDIX

Not Applicable

FIELD OF THE INVENTION

The present invention relates to the field of telecommunications callswitching and transport in a system that provides asynchronous transfermode connections.

BACKGROUND OF THE INVENTION

Broadband systems provide telecommunications providers with manybenefits, including more efficient use of more bandwidth and the abilityto integrate voice, data, and video communications. Broadband systemsprovide callers with increased capabilities at lower costs.

Broadband switches, such as asynchronous transfer mode (ATM) switches,are being used to switch calls in and between local exchange carriersand interexchange carriers. These switches are able to convert callsfrom time division multiplex (TDM) to ATM and from ATM to TDM fortransport. In addition, these switches are able to switch calls ineither ATM or TDM without converting them.

However, these switches require a system for efficiently processing callsignaling to determine where calls are to be routed, if calls need to beconverted between ATM and TDM, and what services, if any, are requiredto process the calls. Ideally, the system should be scaleable and easilyupdated with improved functionality throughout its operative lifetime.

SUMMARY OF THE INVENTION

The present invention comprises a system for connecting a call havinguser communications and call signaling. The system comprises a signalingprocessor that is adapted to receive call signaling, to process the callsignaling to select a connection for the call, and to transport acontrol message that identifies the selected connection. An interworkingsystem is included to receive the control message from the processor, toreceive the user communications, and to interwork the usercommunications between a time division multiplex connection and anasynchronous transfer mode connection for the selected connectionaccording to the control message.

The present invention also comprises a system for connecting a callhaving user communications and call signaling. The system comprises asignaling processor that is adapted to receive call signaling and toprocess the call signaling to select a first connection and a secondconnection for the call. The signaling processor transports a firstcontrol message identifying the selected first connection and a secondcontrol message identifying the selected second connection. Aninterworking unit is adapted to receive the first control message fromthe processor, to receive the user communications, and to interwork theuser communications between a time division multiplex connection and anasynchronous transfer mode connection for the selected first connectionaccording to the first control message. An asynchronous transfer modeswitch is adapted to receive the second control message from thesignaling processor and to switch the user communications to theselected second connection.

In another aspect, the present invention comprises a system forconnecting a call having user communications and call signaling. Thesystem comprises a signaling processor that is adapted to receive callsignaling, to process the call signaling to select a connection for thecall, and to transport a control message identifying the selectedconnection. An interworking unit receives the user communications andinterworks the user communications between a time division multiplexconnection and an asynchronous transfer mode connection. The timedivision multiplex connection is provisioned prior to the call to beinterworked with the asynchronous transfer mode connection. Alsoincluded is an asynchronous transfer mode switch that is adapted toreceive the control message from the signaling processor and to switchthe user communications to the selected second connection according tothe control message.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an interworking system for managing callconnections in accordance with an embodiment of the present invention.

FIG. 2 is a block diagram of the interworking system of FIG. 1 inaccordance with an embodiment of the present invention.

FIG. 3 is a block diagram of the interworking system of FIG. 1 inaccordance with an embodiment of the present invention.

FIG. 4 is a functional diagram of an asynchronous transfer modeinterworking unit for use with a synchronous optical network system inaccordance with an embodiment of the present invention.

FIG. 5 is a functional diagram of an asynchronous transfer modeinterworking unit for use with a synchronous digital hierarchy system inaccordance with an embodiment of the present invention.

FIG. 6 is a block diagram of a signaling processor constructed inaccordance with an embodiment of the present system.

FIG. 7 is a block diagram of an embodiment of a data structure havingtables that are used in the signaling processor of FIG. 6.

FIG. 8 is a block diagram of an embodiment of additional tables that areused in the signaling processor of FIG. 7.

FIG. 9 is a table diagram of an embodiment of a trunk circuit table usedin the signaling processor of FIG. 7.

FIG. 10 is a table diagram of an embodiment of a trunk group table usedin the signaling processor of FIG. 7.

FIG. 11 is a table diagram of an embodiment of an exception circuittable used in the signaling processor of FIG. 7.

FIG. 12 is a table diagram of an embodiment of an automated number indextable used in the signaling processor of FIG. 7.

FIG. 13 is a table diagram of an embodiment of a called number screeningtable used in the signaling processor of FIG. 7.

FIG. 14 is a table diagram of an embodiment of a local routing numbertable used in the signaling processor of FIG. 7.

FIG. 15 is a table diagram of an embodiment of a called number tableused in the signaling processor of FIG. 7.

FIG. 16 is a table diagram of an embodiment of a routing table used inthe signaling processor of FIG. 7.

FIG. 17 is a table diagram of an embodiment of a treatment table used inthe signaling processor of FIG. 7.

FIG. 18 is a table diagram of an embodiment of a message table used inthe signaling processor of FIG. 7.

DETAILED DESCRIPTION

Telecommunication systems have a number of communication devices inlocal exchange and interexchange environments that interact to providecall services to customers. Both traditional and intelligent network(IN) services and resources are used to process, route, or connect acall to a designated destination.

A call has user communications and call signaling. The usercommunications contain the caller's information, such as a voicecommunication or data communication, and they are transported over aconnection. Call signaling contains information that facilitates callprocessing, and it is communicated over a link. Call signaling, forexample, contains information describing the called number and thecalling number. Examples of call signaling are standardized signaling,such as signaling system #7 (SS7), C7, integrated services digitalnetwork (ISDN), and digital private network signaling system (DPNSS),which are based on ITU recommendation Q.933. A call can be connected toand from communication devices.

The present invention provides a system to manage connections for callsin an asynchronous transfer mode (ATM) environment. The system processescall signaling to connect calls on a call-by-call basis through timedivision multiplex (TDM) systems and ATM systems. The system determineshow a call is to be connected, to what communication devices the call isto be connected, and what services are required to process the callbefore, during, and after the call connection. The system controls thecommunication devices to make the connections.

FIG. 1 illustrates one emobidment of a call connection system 102according to the present invention. Call connection system 102 receivesthe call signaling and the user communications. Call connection system102 processes the call signaling to determine a connection for the calland transports the call on the connection. Call connection system 102interworks call traffic for any required protocol, including TDM andATM.

Call connection system 102 comprises signaling processor 104 andinterworking system 106 linked by link 108. First communication device110 and second communication device 112 are connected to interworkingsystem 106 by first and second connection 114 and 116, respectively.First communication device 110 is linked to signaling processor 104 bylink 118, and second communication device 112 is linked to the signalingprocessor by link 120.

Connections are used to transport user communications and other deviceinformation between communication devices and between the elements anddevices of call connection system 102. The term “connection” as usedherein means the transmission media used to carry user communicationsbetween elements of call connection system 102 and other devices. Forexample, a connection could carry a user's voice, computer data, orother communication device data. A connection can be associated witheither in-band communications or out-of-band communications.

Links are used to transport call signaling and control messages. Theterm “link” as used herein means a transmission media used to carry callsignaling and control messages containing, for example, deviceinstructions and data. A link can carry, for example, out-of-bandsignaling such as that used in SS7, C7, ISDN, DPNSS, B-ISDN, GR-303, orcould be via local area network (LAN), or data bus call signaling. Alink can be, for example, an AAL5 data link, FDDI, ethernet, DS0, orDS1. In addition, a link, as shown in the figures, can represent asingle physical link or multiple links, such as one link or acombination of links of ISDN, SS7, TCP/IP, or some other data link. Theterm “control message” as used herein means a control or signalingmessage, a control or signaling instruction, or a control or signalingsignal, whether proprietary or standardized, that conveys informationfrom one point to another.

Signaling processor 104 is a signaling platform that can receive andprocess call signaling. Based on the processed call signaling, signalingprocessor 104 selects processing options, services, or resources for theuser communications and generates and transmits control messages thatidentify the communication device, processing option, service, orresource that is to be used. Signaling processor 104 also selectsvirtual connections and circuit-based connections for call routing andgenerates and transports control messages that identify the selectedconnections. One embodiment of a signaling processor is discussed indetail below.

Interworking system 106 interworks traffic between various protocols.Preferably, interworking system 106 interworks between ATM traffic andnon-ATM traffic. Interworking system 106 can connect calls overpre-provisioned paths without receiving communication messages fromsignaling processor 104. Although, typically, interworking system 106operates in accordance with control messages received from signalingprocessor 104 over link 108. These control messages typically areprovided on a call-by-call basis and typically identify an assignmentbetween a DS0 and a VP/VC for which user communications are interworked.In some instances, interworking system 106 may transport controlmessages which may include data.

Communication devices 110 and 112 each may comprise customer premisesequipment (CPE), a service platform, a switch, an exchange carrier, aremote digital terminal, or any other device capable of initiating,handling, or terminating a call. CPE may include, for example, atelephone, a computer, a facsimile machine, or a private branchexchange. A service platform can be, for example, any enhanced computerplatform that is capable of processing calls. A remote digital terminalis a device that concentrates analog twisted pairs from telephones andother like devices and converts the analog signals to a digital formatknown as GR-303.

The system of FIG. 1 operates as follows when first communication device104 transports a call to second communication device 106. In thisexample, first communication device 110 is a local network, secondcommunication device 112 is an ATM device, and link 120 is a VP/VC.

First communication device 110 transports call signaling to signalingprocessor 104 over link 118. Typically, call signaling is SS7 callsignaling, however it will be appreciated that the invention is notlimited to a specific protocol. First communication device 110 alsotransports user communications to interworking system 106 overconnection 114. Typically, the user communications are TDM formatteduser communications.

Signaling processor 104 processes the call signaling to select aconnection 116. Selected connection 116 is a VP/VC. Signaling processor104 sends a control message to interworking system 106 identifyingselected connection 116 over which the user communications will betransported. Signaling processor 104 also sends a control message tosecond communication device 112 over link 120 identifying selectedconnection 116 over which the user communications are to be interworked.

Interworking system 106 receives user communications from firstcommunication device 110 over connection 114 and control messaging fromsignaling processor 104 over link 108. Interworking unit 106 interworksuser communications between the TDM format and the ATM format.Therefore, interworking unit 104 converts user communications from TDMuser communications to ATM cells that identify selected connection 116and transports the ATM cells over the selected connection to secondcommunication device 112.

FIG. 2 further illustrates one embodiment of interworking system 106. Inthe embodiment depicted in FIG. 2, interworking system 106 comprises ATMswitch 202 and interworking unit 204 connected by connection 206. Link208 links signaling processor 104 to ATM switch 202.

ATM switch 202 establishes connections in response to signaling fromsignaling processor 104. ATM switch 202 interworks between ATMconnections and TDM connections. ATM switch 202 also cross connects ATMconnections with other ATM connections. In addition, ATM switch 202switches calls from TDM connections to other TDM connections.

Interworking unit 204 of FIG. 2 interworks user communications betweenTDM and ATM. Interworking unit 204 is pre-provisioned with connections.If a call comes in on a particular connection, it automatically isinterworked with a second particular connection without the need for acontrol message to identify the second particular connection.

The system of FIG. 2 operates as follows for a call from firstcommunications device 110 in which the first communications device is aTDM device, and connection 114 is a DS0. First communications device 110transports call signaling to signaling processor 104 and usercommunications to interworking unit 204 of interworking system 106.Signaling processor 104 processes the call signaling and selects VP/VCconnection 116 for the call. Signaling processor 104 transports acontrol message to ATM switch 202 over link 208 identifying selectedVP/VC connection 116. Signaling processor 104 transports another controlmessage identifying selected VP/VC connection 116 over link 120 to areceiving communication device (not shown).

Interworking unit 204 receives user communications on the DS0 connection114 and automatically interworks the user communications to ATM cells onVP/VC connection 206. ATM switch 202 receives ATM cells over VP/VCconnection 206 and receives a control message from signaling processor104 over link 208. ATM switch 202 cross connects ATM cells from VP/VCconnection 206 to selected VP/VC connection 116 identified in thecontrol message from signaling processor 104.

FIG. 3 illustrates another embodiment of interworking system 106 of thepresent invention. Interworking system 106 comprises ATM switch 202,service platform 302, first interworking unit 304, second interworkingunit 306, third interworking unit 308, fourth interworking unit 310, anda service platform such as voice response unit/media response unit(VRU/MRU) 312. ATM switch 202, third interworking unit 308, and fourthinterworking unit 310 are connected to cross connect 314. It will beappreciated that an interworking system may include a greater or fewernumber of communication devices, such as greater or fewer interworkingunits which are either controlled or not controlled by signalingprocessor 104.

Signaling processor 104 is linked to first and third interworking units304 and 308 over links 316 and 318, respectively, and to serviceplatform 302 and VRU/MRU 312 through links 320 and 322, respectively.Connections 324, 326, 328, and 330 connect to interworking units 304,306, 308, and 310. Connection 332 connects first interworking unit 304with VRU/MRU 312. Connections 334, 336, 338 and 340 connect ATM switch202 with first and second interworking units 304 and 306, cross connect314, and service platform 302. Connections 342 and 344 connect third andfourth interworking units 308 and 310 with cross connect 314. Also, twoconnections 346 and 348 extend from ATM switch 202, and connection 350extends from cross connect 314. In addition, connection 352 is betweenthird interworking unit 308 and fourth interworking unit 310.

Signaling processor 104 operates in accordance with the signalingprocessor of FIGS. 1 and 2. ATM switch 202 operates in accordance withthe ATM switch of FIG. 2.

Service platform 302 provides enhanced services for call processing foruser communications received from ATM switch 202. Service platform 302may have one or multiple applications to provide multiple services. Suchservices may comprise voice messaging, facsimile messaging, mail boxes,voice recognition, conference bridging, calling card, menu routing, N00servicing such as freephone and 900 call servicing, prepay card, tonedetection, and call forwarding.

Service platform 302 processes user communications in accordance withcontrol messages from signaling processor 104. Preferably, the controlmessage instructs service platform 302 how to process usercommunications and which application to use in the service platform toprocess the user communications. For example, service platform 302 mayprocess user communications, return processing results to signalingprocessor 104, and return the processed user communications to ATMswitch 202 through connection 340 to be transported to anothercommunications device.

First and third interworking units 304 and 308 are controlled by controlinstructions from signaling processor 104. First and third interworkingunits 304 and 308 interwork traffic between various protocols.Preferably, interworking units 304 and 308 interwork between ATM trafficand non-ATM traffic. Interworking units 304 and 308 operate inaccordance with control messages received from signaling processor 104over links 316 and 318, respectively. These control messages typicallyare provided on a call-by-call basis and typically identify anassignment between a DS0 and a VP/VC for which user communications areinterworked. In some instances, interworking units 304 and 308 maytransport control messages which may include data.

Second and fourth interworking units 306 and 310 are not controlled bycontrol instructions from signaling processor 104. Second and fourthinterworking units 306 and 310 interwork user communications between TDMand ATM. Connections are pre-provisioned through interworking units 306and 310. If a call comes in on a particular connection, interworkingunits 306 and 310 automatically interwork the user communications withanother particular connection without the need for a control message toidentify the particular connection. As used herein, the term“automatically” when used in context with interworking or crossconnecting means the process of interworking or cross connecting iscompleted without a control message from signaling processor 104identifying the process to be completed.

VRU/MRU 312 is a type of service platform that performs processing for acall in accordance with the control messages from signaling processor104. The control message instructs VRU/MRU 312 how to provide theprocessing for the call and which application to use to process thecall. VRU/MRU 312 typically provides voice or media responses ormessages to a caller or to a called party.

Cross connect 314 is any device, such as an ATM cross connect, thatprovides a plurality of ATM virtual connections between, for example,ATM switch 302, third interworking unit 308, fourth interworking unit310, and other communication devices (not shown). In ATM, virtualconnections for user communications or virtual connections for linksusing ATM can be designated by the VP/VC in the ATM cell header. Anexample of an ATM cross connect is the NEC Model 20.

The system of FIG. 3 operates in accordance with the following examples.It will be appreciated that first and third interworking units 304 and308 and ATM switch 202 may not always be controlled by signalingprocessor 104. In some instances, connections are “static” so that aparticular incoming DS0 is always connected to a particular outgoing ATMconnection. In addition, first and third interworking units 304 and 308and ATM switch 202 may be controlled by signaling processor 104 so thatthe interworking or cross connecting is dynamic on a call-by-call basis.In such instances, for example, signaling processor 104 selects an ATMconnection for an incoming DS0 and identifies that ATM connection in acontrol message to particular interworking unit 304 or 308. Then,particular interworking unit 304 or 308 interworks the particular DS0with the selected ATM connection.

In the following examples, signaling processor 104 can receive ortransport call signaling over links 118 or 120. Links 118 and 120 can belinks from, for example, a TDM device, a local exchange carrier, or anATM device. Thus, links 118 and 120 can be ATM VP/VCs. Also, signalingprocessor 104 can receive or transport call signaling over links 208,316, and 318. In such a case, links 208, 316, and 318 can be ATM VP/VCs.In addition, control messages can be transported through all of thelinks.

Preferably signaling processor 104 sends call signaling or controlmessages to other communication devices when a call is being set up,while a call is connected, and when a call is being disconnected ordisassociated. For example, the signaling processor will send controlmessages over link 120 to second communication device 112 of FIG. 1.

In some instances, the elements of interworking system 106 may containconverters to convert call signaling to a form that can be processed bysignaling processor 104. For example, first interworking unit 304 mayreceive call signaling and user communications in-band, convert the callsignaling to SS7 signaling, and pass it to signaling processor 104 overlink 316. Alternatively, signaling processor 104 may convert the callsignaling to a desired form prior to processing.

It will be appreciated that in all of the following examples, a call maybe connected in the opposite direction. Thus, a call can be connectedfrom a TDM device to an ATM device using particular paths of connectionsso that it is interworked from TDM to ATM for the connection. Anothercall between the same or similar communication devices which originatesor is handled from an ATM device and transported to a TDM device can beinterworked from ATM to TDM for the same path of connections.

In addition, for all of the following examples, any of interworkingunits 304, 306, 308, or 310 or ATM switch 202 may provide echo control.The echo control may be controlled by signaling processor 104 forinterworking units 304 and 308 and ATM switch 202.

In a first example, a call is connected through first interworking unit304 and ATM switch 202, both of which are controlled by signalingprocessor 104. Signaling processor 104 processes the call signaling toselect connections 334 and 346 for the call. Signaling processor 104transports a first control message over link 316 to first interworkingunit 304 identifying VP/VC connection 334 with which to interwork usercommunications. Signaling processor 104 transports a second controlmessage over link 208 to ATM switch 202 identifying another VP/VCconnection 346 over which to cross connect user communications.Signaling processor 104 transports a third control message to areceiving communications device, such as over link 120 to secondcommunications device 112 of FIG. 1, identifying connection 346 overwhich the call is being connected.

First interworking unit 304 receives the user communications, forexample over DS0 324 in the TDM format, and receives the first controlmessage from signaling processor 104 over link 316. First interworkingunit 304 cancels the echo and interworks the user communications toselected VP/VC connection 334 which is identified in the first controlmessage.

ATM switch 202 receives the ATM cells for the call over VP/VC connection334 and the second control message from signaling processor 104 overlink 208. ATM switch 202 cross connects the ATM cells to VP/VCconnection 346 which is identified in the second control message.

In another example, a call is connected through first interworking unit304, which is controlled by signaling processor 104, and ATM switch 202,which is not controlled by signaling processor 104. Signaling processor104 processes the call signaling to select VP/VC connection 334 for thecall. Signaling processor 104 transports a control message over link 316to first interworking unit 304 identifying VP/VC connection 334 withwhich to interwork the user communications.

First interworking unit 304 receives the user communications andreceives the control message. First interworking unit 304 interworks theuser communications to selected VP/VC connection 334 which is identifiedin the control message. ATM switch 202 receives the user communicationsfor the call over VP/VC connection 334 and automatically cross connectsthe user communications to VP/VC connection 346. In this example, thepath through ATM switch 202 was pre-provisioned.

In another example, a call is connected through first interworking unit304 and ATM switch 202, both of which are controlled by signalingprocessor 104, and it is processed by VRU/MRU 312. The call is connectedin a manner similar to the first example. However, signaling processor104 determines that a connection first must be made to VRU/MRU 312 overconnection 332.

Prior to requiring first interworking unit 304 to interwork the call toconnection 334, signaling processor 104 transports a control signal tofirst interworking unit 304 identifying connection 332 with which thefirst interworking unit initially is to connect the call. Firstinterworking unit 304 makes connection 332 for the call. Signalingprocessor 104 may also transport a control message to VRU/MRU 312identifying services that the VRU/MRU will provide for the call. Forexample, signaling processor 104 may require VRU/MRU 312 to play amessage to the caller requesting entry of a personal identificationnumber (PIN) on a calling card call. One skilled in the art willappreciated that some user input is required to invoke the serviceprovided by a service platform such as VRU/MRU 312.

After VRU/MRU 312 processes the call with the required service, theVRU/MRU can transport a control or data message to signaling processor104 informing the signaling processor that the service is completed.Signaling processor 104 then transports a control message to firstinterworking unit 304 requiring the first interworking unit todisassociate connection 332 to VRU/MRU 312 and to make connection 334 toATM switch 202. Processing of the call continues as explained in thefirst example.

In another example, a call is connected through first interworking unit304 and ATM switch 202, both of which are controlled by signalingprocessor 104, and it is processed by service platform 302. The call isconnected in a manner similar to the first example. However, signalingprocessor 104 determines that a connection must be made during callset-up to service platform 302 over connection 340.

Prior to signaling processor 104 selecting a connection with which ATMswitch 202 will cross connect the call, signaling processor 104transports a control signal to ATM switch 202 identifying connection 340over which to initially connect the call. If connection 340 is an ATMconnection, ATM switch 202 cross connects the call on connection 340 toservice platform 302. If connection 340 is a TDM connection, ATM switch202 interworks the call with the connection.

Signaling processor 104 also transports a control message to serviceplatform 302 identifying services that the service platform is toprovide for the call. For example, signaling processor 104 may requireservice platform 302 to obtain additional digits from the caller andInformation from a customer database for a call using a caller's callingcard. Alternately, the call may be an N00 call, and signaling processor104 may require information from a database for billing.

After service platform 302 processes the call with the required service,the service platform can transport a control or data message tosignaling processor 104 informing the signaling processor that theservice is completed and transports any data associated with theservice. Signaling processor 104 processes the control or data messageand selects connection 346 with which to cross connect the call.Signaling processor 104 then transports a control message to ATM switch202 requiring the ATM switch to disassociate connection 340 to serviceplatform 302 and to connect the call to connection 346. ATM switch 202either cross connects or interworks the call with connection 340 asrequired.

In another example, a call is connected through a static connectionthrough first interworking unit 304, ATM switch 202, and secondinterworking unit 306. When first interworking unit 304 receives usercommunications over particular DS0 connection 324, the firstinterworking unit cancels the echo and interworks the usercommunications with particular VP/VC connection 334 without a controlmessage. The ATM switch receives the user communications over particularVP/VC connection 334 and automatically cross connects usercommunications to another particular VP/VC connection 336 to secondinterworking unit 306. Second interworking unit 306 receives the usercommunications over second particular VP/VC connection 336 andautomatically interworks user communications with DS0 connection 326.

In another example, a call is connected through a static connectionthrough first interworking unit 304, controlled at ATM switch 202, andfurther connected by a static connection through second interworkingunit 306. Signaling processor 104 processes the call signaling to selectconnection 336 for the call between ATM switch 302 and secondinterworking unit 306. Signaling processor 104 transports a controlmessage over link 208 to ATM switch 202 identifying VP/VC connection 336over which to cross connect the call.

When first interworking unit 304 receives user communications over aparticular DS0 connection 324, the first interworking unit automaticallyinterworks user communications with VP/VC connection 334. ATM switch 302receives user communications over VP/VC connection 334 and receives thecontrol message from signaling processor 104. ATM switch 302 crossconnects the user communications on VP/VC connection 336 which wasidentified in the control message. Second interworking unit 306 receivesthe user communications over VP/VC connection 336 and automaticallyinterworks the user communications with DS0 connection 326.

In another example, a call is connected through first interworking unit304, ATM switch 202, and cross connect 314. Signaling processor 104processes the call signaling to select connections 334 and 338 for thecall. Signaling processor 104 transports a first control message overlink 316 to first interworking unit 304 identifying VP/VC connection 334with which to interwork the user communications. Signaling processor 104transports a second control message over link 208 to ATM switch 202identifying another VP/VC connection 338 over which to cross connect thecall. Signaling processor 104 transports a third control message to areceiving communications device, such as over link 120 to secondcommunications device 112 of FIG. 1, identifying VP/VC connection 346over which the call is being connected.

First interworking unit 304 receives the user communications, forexample over DS0 324 in the TDM format, and receives the first controlmessage. First interworking unit 304 interworks the user communicationsto VP/VC connection 334 identified in the first control message. In thisexample, first interworking unit 304 may cancel the echo if required bythe first control message.

ATM switch 202 receives the user communications for the call over VP/VCconnection 334 and the control message from signaling processor 104 overlink 208. ATM switch 202 cross connects the user communications to VP/VCconnection 338 which was identified in the second control message.

Cross connect 314 receives user communications over VP/VC connection338. Cross connect 314 has pre-provisioned connections. Thus, crossconnect 314 cross connects user communications to VP/VC connection 350based upon the connection upon which the user communications arrived atthe cross connect.

In another example, a call is connected through second interworking unit306, which is not controlled by signaling processor 104, and ATM switch202, which is controlled by the signaling processor. Signaling processor104 processes the call signaling to select VP/VC connection 348 for thecall from ATM switch 302. Signaling processor 104 transports a controlmessage over link 208 to ATM switch 202 identifying VP/VC connection 348over which to cross connect the call.

When second interworking unit 306 receives the user communications overDS0 connection 326, the second interworking unit automaticallyinterworks the user communications with VP/VC connection 336. ATM switch302 receives the user communications over VP/VC connection 336 andreceives the control message from signaling processor 104. ATM switch202 cross connects the user communications on VP/VC connection 348 whichwas identified in the control message.

In another example, a call is connected through second interworking unit306, which is not controlled by signaling processor 104, through ATMswitch 202, which is controlled by the signaling processor, and throughcross connect 314. Signaling processor 104 processes the call signalingto select VP/VC connection 338 for the call between ATM switch 302 andcross connect 314. Signaling processor 104 transports a control messageover link 208 to ATM switch 202 identifying VP/VC connection 338 overwhich to cross connect the call.

When second interworking unit 306 receives the user communications overDS0 connection 326, the second interworking unit automaticallyinterworks the user communications with VP/VC connection 336. ATM switch302 receives the user communications over VP/VC connection 336 andreceives the control message from signaling processor 104. ATM switch302 cross connects the user communications on VP/VC connection 338 whichwas identified in the control message. Cross connect 314 receives theuser communications over the VP/VC connection 338 and cross connects theuser communications over a pre-provisioned path on, for example, VP/VCconnection 350. It will be appreciated that the path also can bepre-provisioned to either third interworking unit 308 over VP/VCconnection 342 or fourth interworking unit 310 over VP/VC connection344.

In another example, a call is connected through third interworking unit308 and fourth interworking unit 310, neither of which is controlled bysignaling processor 104. When third interworking unit 308 receives theuser communications over DS0 connection 328, the third interworking unitinterworks the user communications with VP/VC connection 352. Fourthinterworking unit 310 receives the user communications over VP/VCconnection 352 and automatically interworks the user communications withanother particular DS0 connection 330. Either third interworking unit308 or fourth interworking unit 310 may cancel the echo in this example.

In another example, a call is connected through third interworking unit308, which is controlled by signaling processor 104, and fourthinterworking unit 310. Signaling processor 104 processes the callsignaling to select VP/VC connection 352 for the call between thirdinterworking unit 308 and fourth interworking unit 310. Signalingprocessor 104 transports a control message over link 218 to thirdinterworking unit 308 identifying VP/VC connection 352 over which tointerwork the call.

Third interworking unit 308 receives the control message and the usercommunications. Third interworking unit 308 interworks the usercommunications with VP/VC connection 352 which was identified in thecontrol message. Fourth interworking unit 310 receives the usercommunications over VP/VC connection 352 and automatically interworksthe user communications with DS0 connection 330.

In another example, a call is connected through third interworking unit308 and fourth interworking unit 310, neither of which is controlled bysignaling processor 104, and cross connect 314. When third interworkingunit 308 receives the user communications over DS0 connection 328, thethird interworking unit automatically interworks the user communicationswith VP/VC connection 342. Cross connect 314 receives the usercommunications over VP/VC connection 342 and automatically crossconnects the user communications to another particular VP/VC connection344 to fourth interworking unit 310. Fourth interworking unit 310receives the user communications over the second particular VP/VCconnection 344 and automatically interworks the user communications withDS0 connection 330.

In another example, a call is connected through third interworking unit308, which is controlled by signaling processor 104, fourth interworkingunit 310, and cross connect 314. Signaling processor 104 processes thecall signaling to select VP/VC connection 342 for the call between thirdinterworking unit 308 and fourth interworking unit 310. Signalingprocessor 104 transports a control message over link 318 to thirdinterworking unit 308 identifying VP/VC connection 342 over which tointerwork the call.

Third interworking unit 308 receives the control message and the usercommunications. Third interworking unit 308 interworks the usercommunications with VP/VC connection 342 which identified in the controlmessage. Cross connect 314 receives the user communications and crossconnects them on a pre-provisioned VP/VC connection 344. Fourthinterworking unit 310 receives the user communications over crossconnected VP/VC connection 344 and automatically interworks the usercommunications with DS0 connection 330.

In another example, a call is connected through third interworking unit308, which is controlled by signaling processor 104, and cross connect314. Signaling processor 104 processes the call signaling to selectVP/VC connection 342 for the call between third interworking unit 308and cross connect 314. Signaling processor 104 transports a controlmessage over link 318 to third interworking unit 308 identifying theselected VP/VC connection 342 over which to interwork the call.

Third interworking unit 308 receives the control message and the usercommunications. Third interworking unit 308 interworks the usercommunications with VP/VC connection 342 which was identified in thecontrol message. Cross connect 314 receives the user communications andcross connects them on a pre-provisioned VP/VC connection 350.

In another example, a call is connected through fourth interworking unit310 and cross connect 314. Fourth interworking unit 310 receives theuser communications on a particular DS0 connection 330 and automaticallyinterworks the user communications with a particular VP/VC connection344 to cross connect 314. Cross connect 314 receives the usercommunications over VP/VC connection 344 and cross connects them on apre-provisioned path to another particular VP/VC connection 350.

In another example, a call is connected through ATM switch 202 over twoATM connections 346 and 348. For a particular call, ATM switch 202receives the user communications on VP/VC connection 346 andautomatically cross connects them on a pre-provisioned path to anotherVP/VC connection 348. However, for another call, signaling processor 104controls the cross connect in ATM switch 202 by transporting a controlmessage to ATM switch 202 identifying the second VP/VC connection 348with which to cross connect the user communications. In this case, ATMswitch 202 cross connects the user communications according to thecontrol message. ATM switch 202 may cancel the echo if required.

In another example, a call is connected through ATM switch 202 over twoATM connections 346 and 348, and the call is processed by serviceplatform 302. In this example, signaling processor 104 transports acontrol message to service platform 302 identifying the service to beperformed on the call and transports a control message to the ATM switchidentifying connection 340 to service platform 302. ATM switch 202receives the user communications in the ATM format and interworks theuser communications to TDM connection 340 to service platform 302. Afterservice platform 302 processes the call with the required service, theservice platform informs signaling processor 104. Signaling processor104 sends a new control message to ATM switch 202 identifying a newconnection 348. ATM switch 202 dissociates the connection 340 and crossconnects the call to VP/VC connection 348.

In another example, a call is connected through ATM switch 202 over ATMconnection 346 and through cross connect 314 to ATM connection 350. Inthis example, ATM switch 202 cross connects the call from VP/VCconnection 346 to VP/VC connection 338. Cross connect 314 cross connectsthe call from VP/VC connection 338 to VP/VC connection 350. It will beappreciated that ATM switch 202 can perform the cross connect of thecall pursuant to a control message from signaling processor 104identifying VP/VC connection 338. ATM switch 202 also can perform thecross connect when the path is pre-provisioned and static, and ATMswitch 202 then automatically cross connects the call.

In another example, a call is connected over connection 350 throughcross connect 314 to ATM switch 202, which is controlled by signalingprocessor 104, and out connection 346. In this example, signalingprocessor 104 processes the call signaling and selects connection 346.Signaling processor 104 transports a control message to ATM switch 202identifying selected connection 346. Cross connect 314 receives the usercommunications over VP/VC connection 350 and cross connects them toVP/VC connection 338. ATM switch 202 receives the control message andthe user communications for the call. Typically, connection 346 is a TDMconnection, and ATM switch 202 interworks the user communications withconnection 346. However, if connection 346 is an ATM connection, ATMswitch 202 cross connects the user communications to connection 346.

In another example, a call is connected through ATM switch 202 from ATMconnection 346 and through cross connect 314 and third interworking unit308, which is controlled by signaling processor 104. Signaling processor104 processes the call signaling to select connection 328 for the callfrom third interworking unit 308. Signaling processor 104 transports acontrol message over link 318 to third interworking unit 308 identifyingTDM connection 330 over which to interwork the call.

In this example, ATM switch 202 cross connects user communications toVP/VC connection 338. ATM switch 202 can perform the cross connect ofthe call pursuant to a control message from signaling processor 104identifying VP/VC connection 338. ATM switch 202 also can perform thecross connect when the path is pre-provisioned and static, and ATMswitch 202 then automatically cross connects the call. Then, the usercommunications are cross connected through cross connect 314 to VP/VCconnection 342. Third interworking unit 308 receives the control messageand the user communications. Third interworking unit 308 interworks theuser communications with the selected TDM connection 328.

In another example, a call is connected from ATM connection 346 throughATM switch 202, which is controlled by signaling processor 104, andthrough cross connect 314 and third interworking unit 308, which is notcontrolled by signaling processor 104. Signaling processor 104 receivesthe call signaling and selects VP/VC connection 338. Signaling processor104 transports a control message to ATM switch 202 identifying theselected VP/VC connection 338. ATM switch 202 receives the controlmessage over link 208 and the user communications over connection 346.ATM switch 202 cross connects the user communications to VP/VCconnection 338 according to the control message. Cross connect 314receives the user communications and cross connects them to VP/VCconnection 342. Third interworking unit 308 receives the usercommunications over VP/VC connection 342 and automatically interworksthem with TDM connection 328.

In another example, a call is connected over VP/VC connection 350through cross connect 314 and through third interworking unit 308, whichis not controlled by signaling processor 104, to connection 328. Crossconnect 314 receives the user communications over VP/VC 350 and crossconnects them to third interworking unit 308 over VP/VC 342. Thirdinterworking unit 308 receives the user communications and automaticallyinterworks them with TDM connection 328.

In another example, a call is connected through ATM switch 202 from ATMconnection 346 and through cross connect 314 and fourth interworkingunit 310. In this example, ATM switch 202 cross connects the usercommunications to VP/VC connection 338. ATM switch 202 can perform thecross connect of the call pursuant to a control message from signalingprocessor 104 identifying VP/VC connection 338. ATM switch 202 also canperform the cross connect when the path is pre-provisioned and static,and ATM switch 202 then automatically cross connects the call. Then, theuser communications are cross connected through cross connect 314 toVP/VC connection 344. Fourth interworking unit 310 receives the usercommunications on VP/VC connection 344 and automatically interworks theuser communications with particular TDM connection 330.

It will be appreciated that ATM switch 202 is also capable of switchingcall traffic from TDM connections to other TDM connections, for examplewhere connections 346 and 348 are TDM connections. This can be eithercontrolled by signaling processor 104 through the use of controlmessages or automatically switched.

In some embodiments, interworking unit 304 is operational tointerconnect an incoming DS0 to an outgoing DS0 in response to a controlmessage from signaling processor 104. Interworking unit 304 can alsointerwork a DS0 with a VP/VC connection in response to a control messagefrom signaling processor 104. Interworking unit 304 can apply digitalsignal processing, such as echo cancellation, to calls as well. Thiscould be handled automatically for all calls being interworked to ATM,or it could occur selectively based on control messages from signalingprocessor 104.

For example, on a first call, signaling processor 104 may instructinterworking unit 304 to interconnect an incoming DS0 on connection 324to an outgoing DS0 on connection 324. On a second call, signalingprocessor 104 may instruct interworking unit 304 to route the callthrough digital signal processing, such as echo cancellation, and on toATM switch 202 over connection 334. Signaling processor 104 would theninstruct ATM switch 202 to switch the VP/VC from first interworking unit304 to the VP/VC for transport from ATM switch 202 on, for example,connection 346. The VP/VC between first interworking unit 304 and ATMswitch 202 can be preassigned. Also, this VP/VC can be set dynamicallyby signaling processor 104.

THE ATM INTERWORKING UNIT

FIG. 4 shows one embodiment of an interworking unit which is ATMinterworking unit 402 suitable for the present invention for use with aSONET system, but other interworking units that support the requirementsof the invention also are applicable. ATM interworking unit 402 mayreceive and transmit in-band and out-of-band calls.

ATM interworking unit 402 preferably has control interface 404,OC-N/STS-N interface 406, DS3 interface 408, DS1 interface 410, DS0interface 412, signal processor 414, ATM adaptation layer (AAL) 416,OC-M/STS-M interface 418, and ISDN/GR-303 interface 420. As used hereinin conjunction with OC or STS, “N” refers to an integer, and “M” refersto an integer.

Control interface 404 receives control messages originating fromsignaling processor 422, identifies DS0 and virtual connectionassignments in the control messages, and provides these assignments toAAL 416 for implementation. The control messages are received over anATM virtual connection and through OC-M/STS-M interface 418 to controlinterface 404 or directly through the control interface from a link.

OC-N/STS-N interface 406, DS3 interface 408, DS1 interface 410, DS0interface 412, and ISDN/GR-303 interface 420 each can receive usercommunications from communication device 424. Likewise, OC-M/STS-Minterface 418 can receive user communications from communication device426.

OC-N/STS-N interface 406 receives OC-N formatted user communications andSTS-N formatted user communications and converts the user communicationsto the DS3 format. DS3 interface 408 receives user communications in theDS3 format and converts the user communications to the DS1 format. DS3interface 408 can receive DS3s from OC-N/STS-N interface 406 or from anexternal connection. DS1 interface 410 receives user communications inthe DS1 format and converts the user communications to the DS0 format.DS1 interface 410 receives DS1s from DS3 interface 408 or from anexternal connection. DS0 interface 412 receives user communications inthe DS0 format and provides an interface to AAL 416. ISDN/GR-303interface 420 receives user communications in either the ISDN format orthe GR-303 format and converts the user communications to the DS0format. In addition, each interface may transmit user communications inlike manner to communication device 424.

OC-M/STS-M interface 418 is operational to receive ATM cells from AAL416 and to transmit the ATM cells over the connection to communicationdevice 426. OC-M/STS-M interface 418 also may receive ATM cells in theOC or the STS format and transmit them to AAL 416.

AAL 416 comprises both a convergence sublayer and a segmentation andreassembly (SAR) sublayer. AAL 416 obtains the identity of the DS0 andthe ATM VP/VC from control interface 404. AAL 416 is operational toconvert between the DS0 format and the ATM format. AALs are known in theart, and information about AALs is provided by InternationalTelecommunications Union (ITU) document 1.363, which is incorporatedherein by reference. An AAL for voice calls is described in U.S. Pat.No. 5,606,553 entitled “Cell Processing for Voice Transmission” which isincorporated herein by reference.

Calls with multiple 64 Kilo-bits per second (Kbps) DS0s are known asNx64 calls. If desired, AAL 416 can be configured to accept controlmessages through control interface 404 for Nx64 calls. ATM interworkingunit 402 is able to interwork, multiplex, and demultiplex for multipleDS0s. A technique for processing VP/VCs is disclosed in U.S. patentapplication Ser. No. 08/653,852, which was filed on May 28, 1996, andentitled “Telecommunications System with a Connection ProcessingSystem,” and which is incorporated herein by reference.

DS0 connections are bi-directional, and ATM connections are typicallyuni-directional. As a result, two virtual connections in opposingdirections typically will be required for each DS0. Those skilled in theart will appreciate how this can be accomplished in the context of theinvention. For example, the cross-connect can be provisioned with asecond set of VP/VCs in the opposite direction as the original set ofVP/VCs.

In some embodiments, it may be desirable to incorporate digital signalprocessing capabilities at the DS0 level. It may also be desired toapply echo cancellation to selected DS0 circuits. In these embodiments,signal processor 414 is included either separately (as shown) or as apart of DS0 interface 412. Signaling processor 422 is configured to sendcontrol messages to ATM interworking unit 402 to implement particularfeatures on particular DS0 circuits. Alternatively, lookup tables may beused to implement particular features for particular circuits or VP/VCs.

FIG. 5 shows another embodiment of an interworking unit which is ATMinterworking unit 502 suitable for the present invention for use with anSDH system. ATM interworking unit 502 has control interface 504, STM-Nelectrical/optical (E/O) interface 506, E3 interface 508, E1 interface510, E0 interface 512, signal processor 514, AAL 516, STM-Melectrical/optical (E/O) interface 518, and digital private networksignaling system (DPNSS) interface 520. As used herein in conjunctionwith STM, “N” refers to an integer, and “M” refers to an integer.

Control interface 504 receives control messages from signaling processor522, identifies E0 and virtual connection assignments in the controlmessages, and provides these assignments to AAL 516 for implementation.The control messages are received over an ATM virtual connection andthrough STM-M interface 518 to control interface 404 or directly throughthe control interface from a link.

STM-N E/O interface 506, E3 interface 508, E1 interface 510, E0interface 512, and DPNSS interface 520 each can receive usercommunications from a second communication device 524. Likewise, STM-ME/O interface 518 can receive user communications from a thirdcommunication device 526.

STM-N E/O interface 506 receives STM-N electrical or optical formatteduser communications and converts the user communications from the STM-Nelectrical or STM-N optical format to the E3 format. E3 interface 508receives user communications in the E3 format and converts the usercommunications to the E1 format. E3 interface 508 can receive E3s fromSTM-N E/O interface 506 or from an external connection. E1 interface 510receives user communications in the E1 format and converts the usercommunications to the E0 format. E1 interface 510 receives E1s fromSTM-N E/O interface 506 or E3 interface 508 or from an externalconnection. E0 interface 512 receives user communications in the E0format and provides an interface to AAL 516. DPNSS interface 520receives user communications in the DPNSS format and converts usercommunications to the E0 format. In addition, each interface maytransmit user communications in a like manner to communication device524.

STM-M E/O interface 518 is operational to receive ATM cells from AAL 516and to transmit the ATM cells over the connection to communicationdevice 526. STM-M E/O interface 518 may also receive ATM cells in theSTM-M E/O format and transmit them to AAL 516.

AAL 516 comprises both a convergence sublayer and a segmentation andreassembly (SAR) sublayer. The AAL obtains the identity of the E0 andthe ATM VP/VC from control interface 504. AAL 516 is operational toconvert between the E0 format and the ATM format, either in response toa control instruction or without a control instruction. AAL's are knownin the art. If desired, AAL 516 can be configured to receive controlmessages through control interface 504 for Nx64 user communications.

E0 connections are bidirectional and ATM connections typically areuni-directional. As a result, two virtual connections in opposingdirections typically will be required for each E0. Those skilled in theart will appreciate how this can be accomplished in the context of theinvention.

In some instances, it may be desirable to incorporate digital signalprocessing capabilities at the E0 level. Also, it may be desirable toapply echo cancellation. In these embodiments, signal processor 514 isincluded either separately (as shown) or as a part of E0 interface 512.Signaling processor 522 is configured to send control messages to ATMinterworking unit 502 to implement particular features on particularcircuits. Alternatively, lookup tables may be used to implementparticular features for particular circuits or VP/VCs.

THE SIGNALING PROCESSOR

The signaling processor receives and processes telecommunications callsignaling, control messages, and customer data to select connectionsthat establish communication paths for calls. In the preferredembodiment, the signaling processor processes SS7 signaling to selectconnections for a call. Call processing in the call processor and theassociated maintenance that is performed for call processing isdescribed in a U.S. Patent Application entitled “System and Method forTreating a Call for Call Processing” filed on the same date as thisapplication, which is assigned to the same assignee as this patentapplication, and which is incorporated herein by reference.

In addition to selecting connections, the signaling processor performsmany other functions in the context of call processing. It not only cancontrol routing and select the actual connections, but it also canvalidate callers, control echo cancelers, generate accountinginformation, invoke intelligent network functions, access remotedatabases, manage traffic, and balance network loads. One skilled in theart will appreciate how the signaling processor described below can beadapted to operate in the above embodiments.

FIG. 6 depicts an embodiment of a signaling processor. Other versionsalso are contemplated. In the embodiment of FIG. 6, signaling processor602 has signaling interface 604, call processing control system 606(CPCS), and call processor 608. It will be appreciated that signalingprocessor 608 may be constructed as modules in a single unit or asmultiple units.

Signaling interface 604 is coupled externally to signaling systems—inparticular to signaling systems having a message transfer part (MTP), anISDN user part (ISUP), a signaling connection control part (SCCP), anintelligent network application part (INAP), and a TCAP. Signalinginterface 604 preferably is a platform that comprises an MTP level 1610, an MTP level 2 612, and MTP level 3 614, an SCCP process 616, anISUP process 617, and a TCAP process 618. Signaling interface 604 alsohas INAP functionality.

Signaling interface 604 may be linked to a communication device (notshown). For example, the communication device may be an SCP which isqueried by the signaling interface with an AIN 0.1 SCP TCAP query toobtain additional call-associated data. The answer message may haveadditional information parameters that are required to complete callprocessing. The communication device also may be an STP or other device.

Signaling interface 604 is operational to transmit, process, and receivecall signaling. The TCAP, SCCP, ISUP, and INAP functionality use theservices of MTP to transmit and receive the messages. Preferably,signaling interface 604 transmits and receives SS7 messages for MTP,TCAP, SCCP, and ISUP. Together, this functionality is referred to as an“SS7 stack,” and it is well known. The software required by one skilledin the art to configure an SS7 stack is commercially available. Oneexample is the OMNI SS7 stack from Dale, Gesek, McWilliams & Sheridan,Inc. (the DGM&S company).

The processes of signaling interface 604 process information that isreceived in message signal units (MSUs) and convert the information tocall information elements that are sent to call processor 608 to beprocessed. A call information element may be, for example, an ISUP IAMmessage parameter from the MSU. Signaling interface 604 strips theunneeded header information from the MSU to isolate the messageinformation parameters and passes the parameters to call processor 608as the call information elements. Examples of these parameters are thecalled number, calling number, and user service information. Otherexamples of messages with information elements are an ANM, an ACM, anREL, an RLC, and an INF. In addition, call information elements aretransferred from call processor 608 back to signaling interface 604, andthe information elements are reassembled into MSUs and transferred to asignaling point.

CPCS 606 is a management and administration system. CPCS 606 is the userinterface and external systems interface into call processor 608. CPCS606 serves as a collection point for call-associated data such astranslations having call routing data, logs, operational measurementdata, statistical information, accounting information, and other calldata.

CPCS 606 accepts data, such as the translations, from a source such asan operations system and updates the data in the tables in callprocessor 608. CPCS 606 makes sure this data is in the correct formatprior to transferring the data to call processor 608. CPCS 606 alsoprovides configuration data to other devices including to call processor608, signaling interface 604, and the interworking unit (not shown). Inaddition, CPCS 606 provides for remote control of call monitoring andcall tapping applications from call processor 608.

CPCS 606 also serves as a collection point for alarms. Alarm informationis transferred to CPCS 606. CPCS 606 then transports alarm messages tothe required communication device. For example, CPCS 606 can transportalarms to an operations center.

CPCS 606 also has a human-machine interface (HMI). This allows a personto log onto CPCS 606 and manage data tables or review data tables in theCPCS or provide maintenance services.

Call processor 608 processes call signaling and controls an ATMinterworking unit, such as an ATM interworking multiplexer (mux) thatperforms interworking of DS0s and VP/VCs. However, call processor 608may control other communications devices and connections in otherembodiments.

Call processor 608 comprises control platform 620 and applicationplatform 622. Each platform 620 and 622 is coupled to the otherplatform.

Control platform 620 is comprised of various external interfacesincluding an interworking unit interface, an echo interface, a resourcecontrol interface, a call information interface and an operationsinterface. Control platform 620 is externally coupled to an interworkingunit control, an echo control, a resource control, accounting, andoperations. The interworking unit interface exchanges messages with atleast one interworking unit. These messages comprise DS0 to VP/VCassignments, acknowledgments, and status information. The echo controlinterface exchanges messages with echo control systems. Messagesexchanged with echo control systems might include instructions to enableor disable echo cancellation on particular DS0s, acknowledgments, andstatus information.

The resource control interface exchanges messages with externalresources. Examples of such resources are devices that implementcontinuity testing, encryption, compression, tonedetection/transmission, voice detection, and voice messaging. Themessages exchanged with resources are instructions to apply the resourceto particular DS0s, acknowledgments, and status information. Forexample, a message may instruct a continuity testing resource to providea loopback or to send and detect a tone for a continuity test.

The call information interface transfers pertinent call information to acall information processing system, such as to CPCS 606. Typical callinformation includes accounting information, such as the parties to thecall, time points for the call, and any special features applied to thecall. One skilled in the art will appreciate how to produce the softwarefor the interfaces in control platform 620.

Application platform 622 processes signaling information from signalinginterface 604 to select connections. The identity of the selectedconnections are provided to control platform 620 for the interworkingunit interface. Application platform 622 is responsible for validation,translation, routing, call control, exceptions, screening, and errorhandling. In addition to providing the control requirements for theinterworking unit, application platform 622 also provides requirementsfor echo control and resource control to the appropriate interface ofcontrol platform 620. In addition, application platform 622 generatessignaling information for transmission by signaling interface 604. Thesignaling information might be for ISUP, INAP, or TCAP messages toexternal network elements. Pertinent information for each call is storedin a call buffer information (CBI) location for the call. The CBI can beused for tracking and accounting the call.

Application platform 622 preferably operates in general accord with theBasic Call Model (BCM) defined by the ITU. An instance of the BCM iscreated to handle each call. The BCM includes an originating process anda terminating process. Application platform 622 includes a serviceswitching function (SSF) that is used to invoke the service controlfunction (SCF). Typically, the SCF is contained in an SCP. The SCF isqueried with TCAP or INAP messages transported by signaling interface604 which are initiated with information from the SSF in applicationplatform 622. The originating or terminating processes will accessremote databases with intelligent network (IN) functionality via theSSF.

Software requirements for application platform 622 can be produced inspecification and description language (SDL) defined in ITU-T Z.100. TheSDL can be converted into C code. A real time case tool such as SDT fromTelelogic, Inc. or Object Time from Object Time, Inc. can be used.Additional C and C++ code can be added as required to establish theenvironment.

Call processor 608 can be comprised of the above-described softwareloaded onto a computer. The computer can be a Tandem S4000 using thenon-stop Unix operating system and conventional database systems. It maybe desirable to utilize the multi-threading capability of a Unixoperating system.

From FIG. 6, it can be seen that application platform 622 processessignaling information to control numerous systems and facilitate callconnections and services. The SS7 signaling is exchanged between callprocessor 608 and external components through signaling interface 604,and control information is exchanged with external systems throughcontrol platform 620. Advantageously, signaling interface 604, CPCS 606,and call processor 608 are not integrated into a switch centralprocessing unit (CPU) that is coupled to a switching matrix. Unlike anSCP, the components of signaling processor 602 are capable of processingISUP messages independently of TCAP queries.

SS7 MESSAGE DESIGNATIONS

SS7 messages are well known. Designations for various SS7 messagescommonly are used. Those skilled in the art are familiar with thefollowing message designations:

ACM—Address Complete Message

ANM—Answer Message

BLO—Blocking

BLA—Blocking Acknowledgment

CPG—Call Progress

CRG—Charge Information

CGB—Circuit Group Blocking

CGBA—Circuit Group Blocking Acknowledgment

GRS—Circuit Group Reset

GRA—Circuit Group Reset Acknowledgment

CGU—Circuit Group Unblocking

CGUA—Circuit Group Unblocking Acknowledgment

CQM—Circuit Group Query

CQR—Circuit Group Query Response

CRM—Circuit Reservation Message

CRA—Circuit Reservation Acknowledgment

CVT—Circuit Validation Test

CVR—Circuit Validation Response

CFN—Confusion

COT—Continuity

CCR—Continuity Check Request

EXM—Exit Message

INF—Information

INR—Information Request

IAM—Initial Address

LPA—Loop Back Acknowledgment

PAM—Pass Along

REL—Release

RLC—Release Complete

RSC—Reset Circuit

RES—Resume

SUS—Suspend

TCAP—Transaction Capabilities Application Part

UBL—Unblocking

UBA—Unblocking Acknowledgment

UCIC—Unequipped Circuit Identification Code.

CALL PROCESSOR TABLES

Call processing typically entails two aspects. First, an incoming or“originating” connection is recognized by an originating call process.For example, the initial connection that a call uses to enter a networkis the originating connection in that network. Second, an outgoing or“terminating” connection is selected by a terminating call process. Forexample, the terminating connection is coupled to the originatingconnection in order to extend the call through the network. These twoaspects of call processing are referred to as the originating side ofthe call and the terminating side of the call.

FIG. 7 depicts a data structure preferably used by application platform622 of FIG. 6 to execute the BCM. This is accomplished through a seriesof tables that point to one another in various ways. The pointers aretypically comprised of next function and next index designations. Thenext function points to the next table, and the next index points to anentry or a range of entries in that table. The data structure has trunkcircuit table 702, trunk group table 704, exception table 706, ANI table708, called number screening table 710, location routing number (LRN)table 712, called number table 714, and routing table 716.

Trunk circuit table 702 contains information related to the connections.Typically, the connections are DS0 or ATM connections. Initially, trunkcircuit table 702 is used to retrieve information about the originatingconnection. Later, the table is used to retrieve information about theterminating connection. When the originating connection is beingprocessed, the trunk group number in trunk circuit table 702 points tothe applicable trunk group for the originating connection in trunk grouptable 704.

Trunk group table 704 contains information related to the originatingand terminating trunk groups. When the originating connection is beingprocessed, trunk group table 704 provides information relevant to thetrunk group for the originating connection and typically points toexception table 706.

Exception table 706 is used to identify various exception conditionsrelated to the call that may influence the routing or other handling ofthe call. Typically, exception table 706 points to ANI table 708.Although, exception table 706 may point directly to trunk group table704, called number table 714, or routing table 716.

ANI table 708 is used to identify any special characteristics related tothe caller's number. The caller's number is commonly known as automaticnumber identification (ANI). ANI table 708 typically points to callednumber screening table 710. Although, ANI table 708 may point directlyto trunk group table 704 or routing table 716.

Called number screening table 710 is used to provide the triggerdetection point (TDP) for an AIN 0.1 SCP TCAP query. It is used, forexample, with the local number portability (LNP) feature. Called numberscreening table 710 invokes a TCAP. According to the TCAP response,either LRN table 712 or called number table 714 is accessed.

LRN table 712 is used to identify routing requirements based on thecalled number for those calls that have a return response from an LNPquery to an SCP, indicating that the called number is ported. LRN table712 points to routing table 716.

Called number table 714 is used to identify routing requirements basedon the called number. This will be the case for standard telephonecalls. Called number table 714 typically points to routing table 716.Although, it may point to trunk group table 704.

Routing table 716 has information relating to the routing of the callfor the various connections. Routing table 716 is entered from a pointerin exception table 706, ANI table 708, LRN table 712, or called numbertable 714. Routing table 716 typically points to a trunk group in trunkgroup table 704.

When exception table 706, ANI table 708, called number table 714, orrouting table 716 point to trunk group table 704, they effectivelyselect the terminating trunk group. When the terminating connection isbeing processed, the trunk group number in trunk group table 704 andtrunk circuit table 706 is the index that points to the trunk groupindex. The trunk group index contains the applicable terminatingconnection in trunk circuit table 704.

The terminating trunk circuit is used to extend the call. The trunkcircuit is typically a VP/VC or a DS0. Thus, it can be seen that bymigrating through the tables, a terminating connection can be selectedfor a call.

FIG. 8 is an overlay of FIG. 7. The tables from FIG. 7 are present, butfor clarity, their pointers have been omitted. FIG. 8 illustratesadditional tables that can be accessed from the tables of FIG. 7. Theseinclude call processor ID table 802, treatment table 804, query/responsetable 806, and message table 808.

Call processor ID table 802 contains various call processor SS7 pointcodes. It can be accessed from trunk group table 704, and it points backto trunk group table 704.

Treatment table 804 identifies various special actions to be taken inthe course of call processing. This will typically result in thetransmission of a release message (REL) and a cause value. Treatmenttable 804 can be accessed from trunk circuit table 702, trunk grouptable 704, exception table 706, ANI table 708, called number screeningtable 710, LRN table 712, called number table 714, routing table 716,and query/response table 806.

Query/response table 806 has information used to invoke the SCF. It canbe accessed by trunk group table 704, exception table 706, ANI table708, called number screening table 710, LRN table 712, called numbertable 714, and routing table 716. It points to trunk group table 704,exception table 706, ANI table 708, called number screening table 710,LRN table 712, called number table 714, routing table 716, and treatmenttable 804.

Message table 808 is used to provide instructions for signaling messagesfrom the termination side of the call. It can be accessed by trunk grouptable 704 and points to trunk group table 704.

FIGS. 9-18 depict examples of the various tables described above. FIG. 9depicts an example of the trunk circuit table. Initially, the trunkcircuit table is used to access information about the originatingcircuit. Later in the processing, it is used to provide informationabout the terminating circuit. For originating circuit processing, theassociated point code is used to enter the table. This is the point codeof the switch or call processor associated with the originating circuit.For terminating circuit processing, the trunk group number is used toenter the table.

The table also contains the circuit identification code (CIC). The CICidentifies the circuit which is typically a DS0 or a VP/VC. Thus, theinvention is capable of mapping the SS7 CICs to the ATM VP/VC. If thecircuit is ATM, the VP and the VC also can be used for identification.The group member number is a numeric code that is used for terminatingcircuit selection. The hardware identifier identifies the location ofthe hardware associated with the originating circuit. The echo canceler(EC) identification (ID) entry identifies the echo canceler for theoriginating circuit.

The remaining fields are dynamic in that they are filled during callprocessing. The echo control entry is filled based on three fields insignaling messages: the echo suppresser indicator in the IAM or circuitreservation message (CRM) and the information transfer capability in theIAM. This information is used to determine if echo control is requiredon the call. The satellite indicator is filled with the satelliteindicator in the IAM or CRM. It may be used to reject a call if too manysatellites are used. The circuit status indicates if the given circuitis idle, blocked, or not blocked. The circuit state indicates thecurrent state of the circuit, for example, active or transient. Thetime/date indicates when the idle circuit went idle.

FIG. 10 depicts an example of the trunk group table. During originationprocessing, the trunk group number from the trunk circuit table is usedto key into the trunk table. Glare resolution indicates how a glaresituation is to be resolved. Glare is dual seizure of the same circuit.If the glare resolution entry is set to “even/odd,” the network elementwith the higher point code controls the even circuits, and the networkelement with the lower point code controls the odd circuits. If theglare resolution entry is set to “all,” the call processor controls allof the circuits. If the glare resolution entry is set to “none,” thecall processor yields. The continuity control entry lists the percent ofcalls requiring continuity tests on the trunk group.

Continuity control indicates whether continuity is to be checked. Thecommon language location identifier (CLLI) entry is a Bellcorestandardized entry. The satellite trunk group entry indicates that thetrunk group uses a satellite. The satellite trunk group entry is used inconjunction with the satellite indicator field described above todetermine if the call has used too many satellite connections and,therefore, must be rejected. The service indicator indicates if theincoming message is from a call processor (ATM) or a switch (TDM). Theoutgoing message index (OMI) points to the message table so thatoutgoing messages can obtain parameters. The associated number plan area(NPA) entry identifies the area code.

Selection sequence (SEL SEQ) indicates the methodology that will be usedto select a connection. The selection sequence field designations tellthe trunk group to select circuits based on the following: least idle,most idle, ascending, descending, clockwise, and counterclockwise. Thehop counter is decremented from the IAM. If the hop counter is zero, thecall is released. Automatic congestion control (ACC) active indicateswhether or not congestion control is active. If automatic congestioncontrol is active, the call processor may release the call. Duringtermination processing, the next function and index are used to enterthe trunk circuit table Reattempt circuit indicates if an outgoing callcan be reattempted on a different circuit within the same trunk group.

Default jurisdiction information parameter (JIP) is an NPA-NXX valuethat is used to identify the switch from which the call originates. Ifan ISUP JIP is not received in an IAM, the default JIP is the valuerecorded on the call processor CBI. Alternately, this field can hold adefault LRN having a ten digit form of NPA-NXX-XXXX in which the firstsix digits can populate the JIP parameter. If an ISUP LRN is notreceived in an IAM, the default IAM is the value recorded on the callprocessor CBI. The next function and next index entries point to thenext table.

FIG. 11 depicts an example of the exception table. The index is used asa pointer to enter the table. The carrier selection identification (ID)parameter indicates how the caller reached the network and is used forrouting certain types of calls. The following are used for this field:spare or no indication, selected carrier identification codepresubscribed and input by the calling party, selected carrieridentification code presubscribed and not input by the calling party,selected carrier identification code presubscribed and no indication ofinput by the calling party, and selected carrier identification code notpresubscribed and input by the calling party. The carrier identification(ID) indicates the network that the caller wants to use. This is used toroute calls directly to the desired network.

The called party number nature of address differentiates between 0+calls, 1 + calls, test calls, and international calls. For example,international calls might be routed to a pre-selected internationalcarrier. The called party “digits from” and “digits to” focus furtherprocessing unique to a defined range of called numbers. The “digitsfrom” field is a decimal number ranging from 1-15 digits. It can be anylength and, if filled with less than 15 digits, is filled with 0s forthe remaining digits. The “digits to” field is a decimal number rangingfrom 1-15 digits. It can be any length and, if filled with less than 15digits, is filled with 9s for the remaining digits. The next functionand next index entries point to the next table which is typically theANI table.

FIG. 12 depicts an example of the ANI table. The index is used to enterthe fields of the table. The calling party category differentiates amongtypes of calling parties, for example, test calls, emergency calls, andordinary calls. The calling party\charge number entry nature of addressindicates how the ANI is to be obtained. The following is the table fillthat is used in this field: unknown, unique subscriber numbers, ANI notavailable or not provided, unique national number, ANI of the calledparty included, ANI of the called party not included, ANI of the calledparty includes national number, non-unique subscriber number, non-uniquenational number, non-unique international number, test line test code,and all other parameter values.

The “digits from” and “digits to” focus further processing unique to ANIwithin a given range. The data entry indicates if the ANI represents adata device that does not need echo control. Originating lineinformation (OLI) differentiates among ordinary subscriber, multipartyline, ANI failure, station level rating, special operator handling,automatic identified outward dialing, coin or non-coin call usingdatabase access, 800/888 service call, coin, prison/inmate service,intercept (blank, trouble, and regular), operator handled call, outwardwide area telecommunications service, telecommunications relay service(TRS), cellular services, private paystation, and access for privatevirtual network types of service. The next function and next index pointto the next table which is typically the called number table.

FIG. 13 depicts an example of a called number screening table. The indexis used to enter the table. The nature of address entry indicates thetype of dialed number, for example, national versus international. The“digits from” and “digits to” entries focus further processing unique toa range of called numbers. This is where the TCAP response informationis incorporated in the call processing flow. This is where the triggeroccurs for an LNP TCAP query launch. The processing follows theprocessing logic of the “digits from” and “digits to” fields in FIG. 11.The next function and next index point to the next table which istypically either the called number table or the LRN table.

FIG. 14 depicts an example of an LRN table. This table will perform thesame function as the called number table for those calls that areidentified as ported based upon an LNP query response. The index is usedto enter the table. The nature of address entry indicates the type ofdialed number, for example, national versus international. In an LRNcase, the value is a national number. The “digits from” and “digits to”entries focus further processing unique to a range of called numbers.This is where the TCAP response information is incorporated in the callprocessing flow. The processing follows the processing logic of the“digits from” and “digits to” fields in FIG. 11. The next function andnext index point to the next table which is typically the routing table.

FIG. 15 depicts an example of the called number table. The index is usedto enter the table. The called number nature of address entry indicatesthe type of dialed number, for example, national versus international.The “digits from” and “digits to” entries focus further processingunique to a range of called numbers, and they are used in the LRN tablecheck process. The processing follows the processing logic of the“digits from” and “digits to” fields in FIG. 1. The next function andnext index point to the next table which is typically the routing table.

FIG. 16 depicts an example of a routing table. The index is used toenter the table. The transit network selection (TNS) networkidentification (ID) plan indicates the number of digits to use for theCIC. The transit network selection “digits” field defines the numbers toidentify an international carrier. The circuit code indicates the needfor an operator on the call. The next function, next index, and signalroute entries in the routing table are used to identify a trunk group.The second and third next function/index/signal route entries definealternate routes. The third next function entry also can point back toanother set of next functions in the routing table in order to expandthe number of alternate route choices. The only other entries allowedare pointers to the treatment table. If the routing table points to thetrunk group table, then the trunk group table typically points to atrunk circuit in the trunk circuit table. The yield from the trunkcircuit table is the terminating connection for the call.

It can be seen from FIGS. 8-16 that the tables can be configured andrelate to one another in such a way that call processes can enter thetrunk circuit table for the originating connection and can traversethrough the tables by keying on information and using pointers. Theyield of the tables is typically a terminating connection identified bythe trunk circuit table. In some cases, treatment is specified by thetreatment table instead of a connection. If, at any point during theprocessing, a trunk group can be selected, processing may proceeddirectly to the trunk group table for terminating circuit selection. Forexample, it may be desirable to route calls from a particular ANI over aparticular set of trunk groups. In this case, the ANI table would pointdirectly to the trunk group table, and the trunk group table would pointto the trunk circuit table for a terminating circuit. The default paththrough the tables is: trunk circuit, trunk group, exception, ANI,called number screening, called number, routing, trunk group, and trunkcircuit.

FIG. 17 depicts an example of the treatment table. Either the index orthe message received cause number are filled and are used to enter thetable. If the index is filled and used to enter the table, the generallocation, coding standard, and cause value indicator are used togenerate an SS7 REL. The message received cause value entry is the causevalue in a received SS7 message. If the message received cause value isfilled and used to enter the table, then the cause value from thatmessage is used in a REL from the call processor. The next function andnext index point to the next table.

FIG. 18 depicts an example of the message table. This table allows thecall processor to alter information in outgoing messages. Message typeis used to enter the table, and it represents the outgoing standard SS7message type. The parameter is the pertinent parameter within theoutgoing SS7 message. The indexes point to various entries in the trunkgroup table and determine if parameters are passed unchanged, omitted,or modified in the outgoing messages.

It will be appreciated that the system of the present inventionadvantageously combines flexibility and efficient call processing forcall connections in various configurations. In some configurations,processing is allocated to the interworking unit for interworking and/orsignal processing, such as echo cancellation, thereby leaving processingcapacity available in the ATM switch to complete connections and crossconnections for calls. Alternatively, the ATM switch can provideinterworking or signal processing for required calls.

The system may control cross connections in the ATM switch in real-timeon a call-by-call basis when needed. In addition, calls may be crossconnected on provisioned paths through the ATM switch without controlfrom the signaling processor.

This availability of control for the cross connections in the ATM switchallows the system to switch a call from a first interworking unit to asecond interworking unit without requiring the call to be sent to a coreswitch. In addition, because the ATM switch can cross connect calls on acall-by-call basis, the number of interconnections between interworkingunits is drastically reduced because virtual paths are concentrated andthus do not need provisioning from every interworking unit to everyother interworking unit.

In addition, calls can be connected on a call-by-call basis to TDMconnections or ATM connections at either the interworking unit or theATM switch. Moreover, other calls may be connected through permanentlyprovisioned paths without requiring the signaling processor to designatea TDM connection or an ATM connection to connect the call. Thus, the ATMswitch and interworking unit combine to provide functions for an ATM andTDM interworking functionality, an ATM to ATM gateway functionality, anATM and ATM cross connect functionality, and a TDM-ATM-TDM switchingfuncionality within the interworking system, all of which can becontrolled selectively on a real-time call-by-call basis.

Those skilled in the art will appreciate that variations from thespecific embodiments disclosed above are contemplated by the invention.The invention should not be restricted to the above embodiments, butshould be measured by the following claims.

What is claimed is:
 1. A communication system for connecting a callhaving user communications and call signaling comprising: a signalingprocessor adapted to receive the call signaling, to process the callsignaling to select digital signaling requirements and an outgoingconnection for the call, and to generate and transmit a first controlmessage identifying the selected digital signaling requirements and asecond control message identifying the selected outgoing connection; aninterworking system adapted to receive the first control message fromthe signaling processor, to receive the user communications, and tointerwork the user communications between a time division multiplexconnection and an asynchronous transfer mode connection, and to applydigital signal processing according to the first control message; and afirst asynchronous transfer mode switch adapted to receive the secondcontrol message from the signaling processor, to receive and switch theuser communications from the asynchronous transfer mode connection fromthe interworking system to the outgoing connection.
 2. The communicationsystem of claim 1 wherein the digital signal processing comprises echocancellation.
 3. The communication system of claim 2 wherein theoutgoing connection comprises an asynchronous transfer mode connection.4. The communication system of claim 2 wherein the first asynchronoustransfer mode switch further is adapted to interwork the usercommunications between a time division multiplex connection and anasynchronous transfer mode connection provisioned therebetween.
 5. Thecommunication system of claim 1 wherein the interworking systemcomprises: an interworking unit adapted to receive the control messagefrom the signaling processor and, in response thereto, to interwork theuser communications between a time division multiplex connection and anasynchronous transfer mode connection provisioned therebetween; and asecond asynchronous transfer mode switch that is not controlled by thesignaling processor and which is adapted to receive the usercommunications from the interworking unit and to switch the usercommunications onto another provisioned connection.
 6. The communicationsystem of claim 5 wherein the interworking unit comprises an echocanceler adapted to cancel echo for the connection.
 7. The communicationsystem of claim 5 wherein the second asynchronous transfer mode switchfurther is adapted to interwork the user communications between a timedivision multiplex connection and an asynchronous transfer modeconnection provisioned therebetween.
 8. The communication system ofclaim 1 wherein the interworking system comprises a service platformadapted to provide enhanced services for the call.
 9. The communicationsystem of claim 1 further comprising a voice response unit adapted toprovide voice responses to a caller.
 10. A system for connecting a callhaving user communications and call signaling comprising: a signalingprocessor adapted to receive call signaling, to process the callsignaling to select a first connection and a second connection for thecall, and to transport a first control message identifying the selectedfirst connection and a second control message identifying the selectedsecond connection; and an interworking unit adapted to receive the firstcontrol message from the signaling processor, to receive the usercommunications, and to interwork the user communications between a timedivision multiplex connection and an asynchronous transfer modeconnection for the selected first connection according to the firstcontrol message; and an asynchronous transfer mode switch adapted toreceive the second control message from the signaling processor and toswitch the user communication to the selected second connection.
 11. Thesystem of claim 10 wherein the interworking unit comprises an echocanceler adapted to cancel echo for the connection.
 12. The system ofclaim 10 wherein the asynchronous transfer mode switch further isadapted to interwork the user communications between a time divisionmultiplex connection and an asynchronous transfer mode connectionprovisioned therebetween.
 13. A system for connecting a call having usercommunications and call signaling comprising: a signaling processoradapted to receive call signaling, to process the call signaling toselect a connection for the call, and to transport a control messageidentifying the selected connection; an interworking unit adapted toreceive the user communications and to interwork the user communicationsbetween a time division multiplex connection and an asynchronoustransfer mode connection wherein the time division multiplex connectionis provisioned prior to the call to be interworked with the asynchronoustransfer mode connection; and an asynchronous transfer mode switchadapted to receive the control message from the signaling processor andto switch the user communications to the selected connection accordingto the control message.
 14. The system of claim 13 wherein theinterworking unit comprises an echo canceler adapted to cancel echo forthe connection.
 15. The system of claim 13 wherein the asynchronoustransfer mode switch further is adapted to interwork the usercommunications between a time division multiplex connection and anasynchronous transfer mode connection provisioned therebetween.
 16. Thesystem of claim 13 wherein the asynchronous transfer mode switch furtheris adapted to switch other user communications between a first timedivision multiplex connection and a second time division multiplexconnection.
 17. The system of claim 13 further comprising a serviceplatform adapted to provide enchanced services for the call.
 18. Thesystem of claim 13 further comprising a voice response unit adapted toprovide voice responses to a caller for the call.
 19. The system ofclaim 13 further comprising a communication device adapted to transportthe user communications to the interworking unit.
 20. The system ofclaim 13 further comprising a communication device adapted to receivethe user communications from the asynchronous transfer mode switch.